package org.sws.domain.activity.service.partake;

import org.sws.domain.activity.model.entity.ActivityAccountEntity;
import org.sws.domain.activity.model.entity.ActivityPartakeEntity;
import org.sws.domain.activity.model.entity.UserRaffleOrderEntity;

/**
 * @Author sws
 * @Date 2025/3/21 08:56
 * @description: 参与活动 - 用户参与抽奖服务
 */
public interface IActivityPartakeService {

    /**
     * 基于活动权益额度 执行抽奖活动动作 生成用户抽奖单
     * @param activityPartakeEntity 活动参与实体
     * @return 用户抽奖单
     */
    UserRaffleOrderEntity createActivityPartake(ActivityPartakeEntity activityPartakeEntity);

    /**
     * 获取用户活动账户额度
     * @param userId 用户ID
     * @param activityId 活动ID
     * @return 活动账户信息
     */
    ActivityAccountEntity queryAccountSurplus(String userId, Long activityId);
}
